
####################### 未完成 ###############################

FROM centos

# 安装 C 的编译环境
RUN yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

# 安装工具,下面用完后移除
RUN yum -y install wget

# FastDFS 配置文件路径（make.sh 文件中定义了） TARGET_CONF_PATH=$DESTDIR/etc/fdfs
ENV TARGET_CONF_PATH=/etc/fdfs
# 工作路径创建
ARG WORK_PATH_ARG=/var/fdfs
ENV WORK_PATH=${WORK_PATH_ARG}

ENV FDFS_DATA_PATH=/home/fdfs/data

WORKDIR ${WORK_PATH}

# 工作目录创建，data 文件存储路径，package 软件安装下载包
RUN set -x \
    # 创建下载安装包的路径
    && mkdir -p ${WORK_PATH}/package \
    && midkr -p ${TARGET_CONF_PATH} \
    && mkdir -p ${FDFS_DATA_PATH}


# 版本
ARG LIBFASTCOMMON_VERSION=1.0.53

# 安装 libfastcommon FastDFS 分离出来的一些公用函数包
RUN set -x \
    && cd ${WORK_PATH}/package \
    && wget https://github.com/happyfish100/libfastcommon/archive/refs/tags/V${LIBFASTCOMMON_VERSION}.tar.gz --no-check-certificate \
    && tar -zxvf libfastcommon-${LIBFASTCOMMON_VERSION}.tar.gz \
    && cd ./libfastcommon-${LIBFASTCOMMON_VERSION}/ \
    && ./make.sh && ./make.sh install

# 安装 FastDFS 本体,马云地址：https://gitee.com/fastdfs100/fastdfs/repository/archive/V6.07
# 安装后 /etc/fdfs 会生成相应的配置文件（make.sh 文件中定义了） TARGET_CONF_PATH=$DESTDIR/etc/fdfs
ARG FAST_DFS_VERSION=6.07
RUN set -x \
    && cd ${WORK_PATH}/package \
    && wget https://github.com/happyfish100/fastdfs/archive/refs/tags/V${FAST_DFS_VERSION}.tar.gz --no-check-certificate \
    && tar -zxvf fastdfs-${FAST_DFS_VERSION}.tar.gz \
    && cd ./fastdfs-${FAST_DFS_VERSION}/ \
    # 将解压的配置文件全部移动道 配置文件路径下
    && mv ./conf/* ${TARGET_CONF_PATH}

RUN set -x \
    &&
RUN ./make.sh && ./make.sh install


# ###################### 以下是可选的,如果使用主机的 Nginx 则无需 Nginx 相关操作 #########################

# fastdfs-nginx-module,FastDFS 和 Nginx 关联的模块,主要目的是获取 FastDFS 的 Nginx 配置
ARG FASTDFS_NGINX_MODULE_VERSION=1.22
RUN set -x \
    && cd ${WORK_PATH}/package \
    && wget https://github.com/happyfish100/fastdfs-nginx-module/archive/refs/tags/V${FASTDFS_NGINX_MODULE_VERSION}.tar.gz --no-check-certificate \
    && tar -zxvf fastdfs-nginx-module-${FASTDFS_NGINX_MODULE_VERSION}.tar.gz
    && cd ./fastdfs-nginx-module-${FASTDFS_NGINX_MODULE_VERSION}

# 下载安装 Nginx,编译安装 Nginx 时需要将 FastDFS-model 对 Nginx 相关的支持编译进去 -add-model=
ARG NGINX_VERSION=1.20.1
RUN set -x \
    && cd ${WORK_PATH}/package \
    && wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz \
    && tar -zxvf nginx-${NGINX_VERSION}.tar.gz \
    && cd nginx-${NGINX_VERSION} \
    && ./configure -add-model=${WORK_PATH}/package/fastdfs-nginx-module-${FASTDFS_NGINX_MODULE_VERSION}/src
    && ./make && make install


VOLUME ['${TARGET_CONF_PATH}','${FDFS_DATA_PATH}']

EXPOSE [22122]